<?php
require_once dirname(__FILE__) . "/Datatype_char.php";

/**
 * Datatype for finnish postinumero
 * 
 * @package EDO
 * @subpackage Datatypes
 *
 */
class Datatype_fi_postinumero extends Datatype_char
{
	protected $_SQLValueIsQuoted = true;
	
	static $postitoimipaikat = array();

	
	public function __construct(EDO_object_basic $owner, $config = array())
	{
		parent::__construct($owner, $config);
		$this->config['size'] = 5;
	}
	
	function validate($validate)
	{
		$validate = parent::validate($validate);
		return $validate;
	}
	
	public function getDisplayValue()
	{
		return $this->getValue() . " " . $this->getPostiToimiPaikka();
	}
	
	
	public function getPostiToimiPaikka()
	{
		if(!isset(self::$postitoimipaikat[$this->getValue()]))
		{
			$phrase = "select static_postitoimipaikat.postitoimipaikka FROM static_postinumerot JOIN static_postitoimipaikat USING(postitoimipaikkaid) WHERE static_postinumerot.postinumero = '{$this->getValue()}'";
			
			$result = $this->getOwner()->ldb->getOne($phrase);
		
			self::$postitoimipaikat[$this->getValue()] = $this->getOwner()->ldb->getOne($phrase);
			
		}
	
		return self::$postitoimipaikat[$this->getValue()];
		
	}

	
	
}
?>